using System;
using System.Collections.Generic;
using System.Text;
using Hermes.Framework.FileSystem;

namespace Hermes.Framework
{
    public interface ITransactableOperationAbstractFactory
    {
        IResourceManager ResourceManager
        {
            set;
        }

        INonTransactableFileSystemFactory FileSystemFactory
        {
            set;
        }

        ITransactableCreate GetCreate(string fileName);

        ITransactableCopy GetCopy(string from, string to);

        ITransactableMove GetMove(string from, string to);

        ITransactableDelete GetDelete(string fileName);

    }
}
